package com.fast.develop.dm.meta.builder;

import com.fast.develop.dm.meta.MetaField;
import com.fast.develop.dm.meta.extend.ExtendStrategy;
import com.fast.develop.dm.meta.field.FieldCatelog;

import java.util.List;
import java.util.Map;

/**
 * @author 莫寅
 * @createTime 2022-06-04 19:31
 * @desc：
 */
public class MetaModelBuilder {

    /**
     * 身份
     */
    private MetaField identifierProperty;
    /**
     * 模型名
     */
    private String name;
    /**
     * 表名
     */
    private String tableName;
    /**
     * 描述
     */
    private String comment;
    /**
     * 父模型
     */
    private String superModel;
    /**
     * 继承策略
     */
    private ExtendStrategy extendStrategy;
    /**
     * 模型字段
     */
    private List<MetaField> fields;
    /**
     * 目录字段集
     */
    private Map<FieldCatelog, MetaField> catelogMetaFields;

    public MetaField getIdentifierProperty() {
        return identifierProperty;
    }

    public void setIdentifierProperty(MetaField identifierProperty) {
        this.identifierProperty = identifierProperty;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getSuperModel() {
        return superModel;
    }

    public void setSuperModel(String superModel) {
        this.superModel = superModel;
    }

    public ExtendStrategy getExtendStrategy() {
        return extendStrategy;
    }

    public void setExtendStrategy(ExtendStrategy extendStrategy) {
        this.extendStrategy = extendStrategy;
    }

    public List<MetaField> getFields() {
        return fields;
    }

    public void setFields(List<MetaField> fields) {
        this.fields = fields;
    }

    public Map<FieldCatelog, MetaField> getCatelogMetaFields() {
        return catelogMetaFields;
    }

    public void setCatelogMetaFields(Map<FieldCatelog, MetaField> catelogMetaFields) {
        this.catelogMetaFields = catelogMetaFields;
    }
}
